package com.bosssoft.service;

import com.bosssoft.entity.vo.DirectPfinancialPaymentVO;
import com.bosssoft.entity.vo.FibVoucherDetailsVO;
import com.bosssoft.entity.vo.FinancialDirectPaymentEntryNoticeVO;
import com.bosssoft.entity.vo.PayRefundNoticeDirectlyVO;
import com.bosssoft.service.impl.VoucherFeignServiceImpl;
import com.bosssoft.response.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author 项昊天
 * @create 2021/8/20 14:35
 */
@FeignClient(value = "electronic-provider", fallback = VoucherFeignServiceImpl.class)
public interface VoucherFeignService  {

  @PostMapping("/creatVoucherDetails/addPayRefundNoticeDirectly")
  Result addPayRefundNoticeDirectly(@RequestBody PayRefundNoticeDirectlyVO addPayRefundNoticeDirectlyVO);

  @ApiOperation(value = "52011生成财政直接支付凭证")
  @PostMapping(value = "/creatVoucherDetails/addDirectPfinancialPayment")
  Result addDirectPfinancialPayment(@RequestBody DirectPfinancialPaymentVO directPfinancialPaymentVO);

  @ApiOperation(value = "根据id查找凭证")
  @PostMapping(value = "/selectVoucherById")
  Result selectVoucherById(@RequestBody FibVoucherDetailsVO fibVoucherDetailsVO);

  @ApiOperation(value = "查找一条凭证信息_根据凭证编码与预算申请编号")
  @PostMapping(value = "/selectByBgtIdAndCode")
  Result selectByBgtIdAndCode(@RequestParam("voucherCode") Integer voucherCode, @RequestParam("bgtId") Long bgtId);

//  @ApiOperation(value = "22050直接支付入账通知书")
  @PostMapping(value = "/addFinancialDirectPaymentEntryNotice")
  Result addFinancialDirectPaymentEntryNotice(@RequestBody FinancialDirectPaymentEntryNoticeVO financialDirectPaymentEntryNoticeVO);
}
